<?
// Check if an array of numbers is actually numeric
function check_numbers($arr) {
	foreach($arr as $num) {
		if(!is_numeric($num)) {
		 	error(0);
		 }
	}
}

// If something goes wrong
function error($code) {
	switch($code) {
		case 404:
			echo "Error 404";
			break;
		case 0:
			echo "Broken input";
			break;
	}
	die();
}


// This is preferable to htmlspecialchars because it doesn't screw up upon a double escape
function display_str($str) {
	if ($str === NULL || $str === FALSE || is_array($str)) {
		return '';
	}
	if ($str!='' && !is_numeric($str)) {
		$str=preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,5};)/m","&amp;",$str);

		$replace = array(
			"'",'"',"<",">",
			'&#128;','&#130;','&#131;','&#132;','&#133;','&#134;','&#135;','&#136;','&#137;','&#138;','&#139;','&#140;','&#142;','&#145;','&#146;','&#147;','&#148;','&#149;','&#150;','&#151;','&#152;','&#153;','&#154;','&#155;','&#156;','&#158;','&#159;'
		);

		$with=array(
			'&#39;','&quot;','&lt;','&gt;',
			'&#8364;','&#8218;','&#402;','&#8222;','&#8230;','&#8224;','&#8225;','&#710;','&#8240;','&#352;','&#8249;','&#338;','&#381;','&#8216;','&#8217;','&#8220;','&#8221;','&#8226;','&#8211;','&#8212;','&#732;','&#8482;','&#353;','&#8250;','&#339;','&#382;','&#376;'
		);

		$str=str_replace($replace,$with,$str);
	}
	return $str;
}

?>